package cn.com.blueInfo.bpm.template.entity;

import cn.com.blueInfo.bpm.common.entity.BaseEntity;
import cn.com.blueInfo.bpm.template.enums.EventType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 事件定义表
 * @author suxch
 * @since 2025-08-24 01:41:15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "mc_uniflow_event", autoResultMap = true)
@Schema(description = "事件定义表")
public class Event extends BaseEntity {

    /** ID */
    @TableId(type = IdType.INPUT)
    @Schema(description = "ID")
    private Long id;
    /** 流程模板ID */
    @Schema(description = "流程模板ID")
    private Long processId;
    /** 节点ID */
    @Schema(description = "节点ID")
    private Long nodeId;
    /** 事件编码 */
    @Schema(description = "事件编码")
    private String eventCode;
    /** 事件名称 */
    @Schema(description = "事件名称")
    private String eventName;
    /** 事件类型：TIMER-定时事件，STATUS_CHANGE-状态变更事件，SIGNAL-信号事件 */
    @Schema(description = "事件类型：TIMER-定时事件，STATUS_CHANGE-状态变更事件，SIGNAL-信号事件")
    private EventType eventType;
    /** 事件触发条件 */
    @Schema(description = "事件触发条件")
    private String eventCondition;

}
